// pages/search/search.js
const api = require("../../API/api.js");
Page({

  /**
   * 页面的初始数据
   */
  data: {
      hotSongs:[], //热搜歌曲列表,
      inputValue:'', //输入框里的值,
      searchHistory:[],//搜索历史记录
      controlView:false, //热门搜索，搜索记录组件是否显示
      suggestView:false, //搜索建议是否显示
      searchKey:'', //搜索关键字
      searchsuggest:[], //搜索关键列表
      searchResultlist:[],//搜索列表
  },
  cancel(){
      wx.switchTab({
        url: '../index/index',
      })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getHotSearch(); //热搜歌曲的内容
  },
  // 热搜列表
  getHotSearch(){
      api.getHotSearch({}).then(res=>{
        if(res.code===200){
          this.setData({
            hotSongs:res.result.hots
          })
        }
      })
  },

  // 点击时需要隐藏下方的控件
  hiddenControl(e){
      console.log(e);
      console.log(e.detail.cursor);
      this.setData({
        controlView:true,
        searchKey:e.detail.value,
        suggestView:false
      })
      // 如果没有输入内容，需要把已经搜索到的内容置空
      if(e.detail.cursor == 0){
        this.setData({
      searchResultlist:[], //搜索结果列表
      controlView:false,   //热门搜索，历史记录组件显示
      suggestView:true, //搜索建议清空
        })
      }
      if(e.detail.value !=''){
        this.searchRecommend();
      }
   },

  //  搜索建议
   searchRecommend(){
     console.log(this.data.searchKey);
      api.getsearchRecommend({keywords:this.data.searchKey, type:'mobile'}).then(res=>{
        console.log(res);
        console.log(res.result.allMatch);
          if(res.code==200){
             this.setData({
                searchsuggest:res.result.allMatch

            })
          }
      })
   },
  //  点击搜索建议将内容放入搜索框
   getContent(e){
      console.log(e.currentTarget.dataset.keyword);
      this.setData({
        inputValue:e.currentTarget.dataset.keyword,
        searchKey:e.currentTarget.dataset.keyword   
        // 搜索关键字
      })
      
      this.searchResult(e);
      console.log('e:',e);
   },

  //  点击热门搜索,历史记录直接搜索
  searchHot(e){
      console.log(e);
      console.log(e.currentTarget.dataset.keyword);
      this.setData({
        inputValue:e.currentTarget.dataset.keyword,
        searchKey:e.currentTarget.dataset.keyword,
      })
      this.searchResult(e);
  },

  //  确认搜索，搜索结果
   searchResult(e){
        api.getSearchResult({keywords:this.data.searchKey, type:1,limit:100,offset:3}).then(res=>{
          if(res.code==200){
          this.setData({
            searchResultlist:res.result.songs,
            suggestView:true,  //搜搜建议需要隐藏
            controlView:true   //热搜列表，可历史记录也要隐藏
          })
          console.log(this.data.searchResultlist);
          console.log(e.detail.value);  //文本框中直接搜
          console.log(e);
          if(e.detail.value == undefined){
            this.data.searchHistory.unshift(e.currentTarget.dataset.keyword);
          }else{
            this.data.searchHistory.unshift(e.detail.value);
          }
          
          wx.setStorageSync('searchHistory', this.data.searchHistory);
          }
        })
   },

  //  点击小图标清空文本框内容,并且热门搜索显示，其他不显示
   clearUp(){
      this.setData({
        inputValue:'',
        controlView:false, //热门搜索，搜索记录组件是否显示
        suggestView:true,  //搜索建议，隐藏
        searchsuggest:[],  //搜索建议里面内容置空
        searchResultlist:[] //搜索结果也置空
      })
   },

  //  清空历史记录
  clearHistory(){
    wx.showModal({
      cancelColor: '#19CAAD',
      confirmColor:'#19CAAD',
      content:'是否清空所有历史记录',
      success:(res)=>{
        if(res.confirm){
          this.setData({
            searchHistory:[],  //搜索历史数组置空
          })
          wx.setStorageSync('searchHistory', []);
        }
      },
    })
 
  
  },

  //  播放
   playAudio(e){
      console.log(e.currentTarget.dataset.id);
      const id = e.currentTarget.dataset.id;
      wx.navigateTo({
        url: '../playAudio/playAudio?id=' + id,
      })
   },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

    this.setData({
      searchHistory:wx.getStorageSync('searchHistory')
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
      this.setData({
        searchHistory:wx.getStorageSync('searchHistory')
      })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})